DigiOffice Gateway Web Services

<back to all web services

ProcessDocumentRequestMessage

Requires Authentication
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class Environment implements IConvertible
{
    String? Title;
    String? Code;

    Environment({this.Title,this.Code});
    Environment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Title = json['Title'];
        Code = json['Code'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Title': Title,
        'Code': Code
    };

    getTypeName() => "Environment";
    TypeContext? context = _ctx;
}

class Party implements IConvertible
{
    String? Title;
    String? Code;
    String? Version;
    Environment? Environment;

    Party({this.Title,this.Code,this.Version,this.Environment});
    Party.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Title = json['Title'];
        Code = json['Code'];
        Version = json['Version'];
        Environment = JsonConverters.fromJson(json['Environment'],'Environment',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Title': Title,
        'Code': Code,
        'Version': Version,
        'Environment': JsonConverters.toJson(Environment,'Environment',context!)
    };

    getTypeName() => "Party";
    TypeContext? context = _ctx;
}

class Header implements IConvertible
{
    String? MessageID;
    DateTime? Timestamp;
    Party? Sender;
    Party? Recipient;
    dynamic? RequestMessageID;

    Header({this.MessageID,this.Timestamp,this.Sender,this.Recipient,this.RequestMessageID});
    Header.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        MessageID = json['MessageID'];
        Timestamp = JsonConverters.fromJson(json['Timestamp'],'DateTime',context!);
        Sender = JsonConverters.fromJson(json['Sender'],'Party',context!);
        Recipient = JsonConverters.fromJson(json['Recipient'],'Party',context!);
        RequestMessageID = JsonConverters.fromJson(json['RequestMessageID'],'dynamic',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'MessageID': MessageID,
        'Timestamp': JsonConverters.toJson(Timestamp,'DateTime',context!),
        'Sender': JsonConverters.toJson(Sender,'Party',context!),
        'Recipient': JsonConverters.toJson(Recipient,'Party',context!),
        'RequestMessageID': JsonConverters.toJson(RequestMessageID,'dynamic',context!)
    };

    getTypeName() => "Header";
    TypeContext? context = _ctx;
}

enum eventType
{
    Update,
    Create,
    Delete,
    Response,
}

class Document implements ICustomProperties, IConvertible
{
    String? ID;
    String? RootDocumentID;
    String? RegistrationprofileID;
    String? Title;
    String? FullTitle;
    String? Number;
    String? Version;
    String? ExternalNumber;
    String? ExternalVersion;
    String? InternalNumber;
    String? InternalInvoiceNumber;
    int? PersonID;
    int? RelationID;
    String? RelationTitle;
    int? ProjectID;
    String? ProjectTitle;
    String? Extension;
    DateTime? Date;
    int? CommentsCount;
    bool? HasComments;
    bool? HasPreview;
    String? ExtraField;
    bool? IsFavorite;
    String? DocumentcategoryText;
    int? FileSize;
    DateTime? FileDate;
    String? Hash;
    String? HashType;
    String? FileUrl;
    String? StandardDocumentUrl;
    bool? IsCorporateIdentity;
    String? UserTitle;
    bool? IsFrozen;
    int? InternalCompanyID;
    String? DirectUrl;
    bool? AllowDigitalSigningOnlyOnPrimaryVersions;
    bool? IsPrimaryVersion;
    String? FileExtension;
    Map<String,dynamic?>? CustomProperties;

    Document({this.ID,this.RootDocumentID,this.RegistrationprofileID,this.Title,this.FullTitle,this.Number,this.Version,this.ExternalNumber,this.ExternalVersion,this.InternalNumber,this.InternalInvoiceNumber,this.PersonID,this.RelationID,this.RelationTitle,this.ProjectID,this.ProjectTitle,this.Extension,this.Date,this.CommentsCount,this.HasComments,this.HasPreview,this.ExtraField,this.IsFavorite,this.DocumentcategoryText,this.FileSize,this.FileDate,this.Hash,this.HashType,this.FileUrl,this.StandardDocumentUrl,this.IsCorporateIdentity,this.UserTitle,this.IsFrozen,this.InternalCompanyID,this.DirectUrl,this.AllowDigitalSigningOnlyOnPrimaryVersions,this.IsPrimaryVersion,this.FileExtension,this.CustomProperties});
    Document.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ID = json['ID'];
        RootDocumentID = json['RootDocumentID'];
        RegistrationprofileID = json['RegistrationprofileID'];
        Title = json['Title'];
        FullTitle = json['FullTitle'];
        Number = json['Number'];
        Version = json['Version'];
        ExternalNumber = json['ExternalNumber'];
        ExternalVersion = json['ExternalVersion'];
        InternalNumber = json['InternalNumber'];
        InternalInvoiceNumber = json['InternalInvoiceNumber'];
        PersonID = json['PersonID'];
        RelationID = json['RelationID'];
        RelationTitle = json['RelationTitle'];
        ProjectID = json['ProjectID'];
        ProjectTitle = json['ProjectTitle'];
        Extension = json['Extension'];
        Date = JsonConverters.fromJson(json['Date'],'DateTime',context!);
        CommentsCount = json['CommentsCount'];
        HasComments = json['HasComments'];
        HasPreview = json['HasPreview'];
        ExtraField = json['ExtraField'];
        IsFavorite = json['IsFavorite'];
        DocumentcategoryText = json['DocumentcategoryText'];
        FileSize = json['FileSize'];
        FileDate = JsonConverters.fromJson(json['FileDate'],'DateTime',context!);
        Hash = json['Hash'];
        HashType = json['HashType'];
        FileUrl = json['FileUrl'];
        StandardDocumentUrl = json['StandardDocumentUrl'];
        IsCorporateIdentity = json['IsCorporateIdentity'];
        UserTitle = json['UserTitle'];
        IsFrozen = json['IsFrozen'];
        InternalCompanyID = json['InternalCompanyID'];
        DirectUrl = json['DirectUrl'];
        AllowDigitalSigningOnlyOnPrimaryVersions = json['AllowDigitalSigningOnlyOnPrimaryVersions'];
        IsPrimaryVersion = json['IsPrimaryVersion'];
        FileExtension = json['FileExtension'];
        CustomProperties = JsonConverters.fromJson(json['CustomProperties'],'Map<String,dynamic?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ID': ID,
        'RootDocumentID': RootDocumentID,
        'RegistrationprofileID': RegistrationprofileID,
        'Title': Title,
        'FullTitle': FullTitle,
        'Number': Number,
        'Version': Version,
        'ExternalNumber': ExternalNumber,
        'ExternalVersion': ExternalVersion,
        'InternalNumber': InternalNumber,
        'InternalInvoiceNumber': InternalInvoiceNumber,
        'PersonID': PersonID,
        'RelationID': RelationID,
        'RelationTitle': RelationTitle,
        'ProjectID': ProjectID,
        'ProjectTitle': ProjectTitle,
        'Extension': Extension,
        'Date': JsonConverters.toJson(Date,'DateTime',context!),
        'CommentsCount': CommentsCount,
        'HasComments': HasComments,
        'HasPreview': HasPreview,
        'ExtraField': ExtraField,
        'IsFavorite': IsFavorite,
        'DocumentcategoryText': DocumentcategoryText,
        'FileSize': FileSize,
        'FileDate': JsonConverters.toJson(FileDate,'DateTime',context!),
        'Hash': Hash,
        'HashType': HashType,
        'FileUrl': FileUrl,
        'StandardDocumentUrl': StandardDocumentUrl,
        'IsCorporateIdentity': IsCorporateIdentity,
        'UserTitle': UserTitle,
        'IsFrozen': IsFrozen,
        'InternalCompanyID': InternalCompanyID,
        'DirectUrl': DirectUrl,
        'AllowDigitalSigningOnlyOnPrimaryVersions': AllowDigitalSigningOnlyOnPrimaryVersions,
        'IsPrimaryVersion': IsPrimaryVersion,
        'FileExtension': FileExtension,
        'CustomProperties': JsonConverters.toJson(CustomProperties,'Map<String,dynamic?>',context!)
    };

    getTypeName() => "Document";
    TypeContext? context = _ctx;
}

class DocumentMessage implements IConvertible
{
    Header? Header;
    eventType? EventType;
    Document? Document;

    DocumentMessage({this.Header,this.EventType,this.Document});
    DocumentMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Header = JsonConverters.fromJson(json['Header'],'Header',context!);
        EventType = JsonConverters.fromJson(json['EventType'],'eventType',context!);
        Document = JsonConverters.fromJson(json['Document'],'Document',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Header': JsonConverters.toJson(Header,'Header',context!),
        'EventType': JsonConverters.toJson(EventType,'eventType',context!),
        'Document': JsonConverters.toJson(Document,'Document',context!)
    };

    getTypeName() => "DocumentMessage";
    TypeContext? context = _ctx;
}

class DocumentRequestMessage implements IConvertible
{
    Header? Header;
    String? RootDocumentID;
    bool? IncludePhysicalFile;

    DocumentRequestMessage({this.Header,this.RootDocumentID,this.IncludePhysicalFile});
    DocumentRequestMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Header = JsonConverters.fromJson(json['Header'],'Header',context!);
        RootDocumentID = json['RootDocumentID'];
        IncludePhysicalFile = json['IncludePhysicalFile'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Header': JsonConverters.toJson(Header,'Header',context!),
        'RootDocumentID': RootDocumentID,
        'IncludePhysicalFile': IncludePhysicalFile
    };

    getTypeName() => "DocumentRequestMessage";
    TypeContext? context = _ctx;
}

class ProcessDocumentRequestMessage implements IConvertible
{
    String? InstanceId;
    DocumentRequestMessage? DocumentRequest;

    ProcessDocumentRequestMessage({this.InstanceId,this.DocumentRequest});
    ProcessDocumentRequestMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        InstanceId = json['InstanceId'];
        DocumentRequest = JsonConverters.fromJson(json['DocumentRequest'],'DocumentRequestMessage',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'InstanceId': InstanceId,
        'DocumentRequest': JsonConverters.toJson(DocumentRequest,'DocumentRequestMessage',context!)
    };

    getTypeName() => "ProcessDocumentRequestMessage";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'kpm_digiofficeapigateway.tbi.nl', types: <String, TypeInfo> {
    'Environment': TypeInfo(TypeOf.Class, create:() => Environment()),
    'Party': TypeInfo(TypeOf.Class, create:() => Party()),
    'Header': TypeInfo(TypeOf.Class, create:() => Header()),
    'eventType': TypeInfo(TypeOf.Enum, enumValues:eventType.values),
    'Document': TypeInfo(TypeOf.Class, create:() => Document()),
    'Map<String,dynamic?>': TypeInfo(TypeOf.Class, create:() => Map<String,dynamic?>()),
    'DocumentMessage': TypeInfo(TypeOf.Class, create:() => DocumentMessage()),
    'DocumentRequestMessage': TypeInfo(TypeOf.Class, create:() => DocumentRequestMessage()),
    'ProcessDocumentRequestMessage': TypeInfo(TypeOf.Class, create:() => ProcessDocumentRequestMessage()),
});

Dart ProcessDocumentRequestMessage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /csv/reply/ProcessDocumentRequestMessage HTTP/1.1 
Host: kpm_digiofficeapigateway.tbi.nl 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"InstanceId":"00000000-0000-0000-0000-000000000000","DocumentRequest":{"Header":{"MessageID":"String","Timestamp":"0001-01-01T00:00:00.0000000","Sender":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"Recipient":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"RequestMessageID":{}},"RootDocumentID":"String","IncludePhysicalFile":false}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Header":{"MessageID":"String","Timestamp":"0001-01-01T00:00:00.0000000","Sender":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"Recipient":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"RequestMessageID":{}},"EventType":"Update","Document":{"GlobalID":"String","RootDocumentID":"String","Code":"String","Subject":"String","VersionNumber":"String","NewestVersion":false,"RelationReference":{"GlobalID":"String","Title":"String"},"DocumentTypeReference":{"GlobalID":"String","Title":"String"},"ProjectReference":{"GlobalID":"String","Title":"String"},"ConstructionBlockReference":{"GlobalID":"String","Title":"String"},"ConstructionNumberReference":{"GlobalID":"String","Title":"String"},"HousingTypeReference":{"GlobalID":"String","Title":"String"},"Floor":0,"FloorSpecified":false,"DeletedDate":"0001-01-01T00:00:00.0000000","DeletedDateSpecified":false,"File":{"Type":"String","Name":"String","Size":0,"Content":"String","ModifiedDate":"0001-01-01T00:00:00.0000000"},"CustomFields":[{"Name":"String","Value":"String"}],"CreationDate":"0001-01-01T00:00:00.0000000","CreatedBy":"String","ModifiedDate":"0001-01-01T00:00:00.0000000","ModifiedBy":"String"}}